The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.
Conventionally, data synchronization has allowed multiple instances (e.g. copies) of data to be separately maintained, while ensuring that the separate instances are up-to-date with respect to each other. Thus, where one of the instances of the data is updated, the data synchronization may result in a similar update being made to the other instance of the data. Unfortunately, convention techniques for performing data synchronization have exhibited various limitations.
For example, directly communicating to one instance of data each change made to another instance of the data can result in cumbersome use of system resources, particularly when multiple changes to data are regularly being made. Moreover, any delay in receiving the communication by the one instance of data regarding the change made to the other instance of the data may allow an additional change to be made to the one instance of the data before the other instance of the data is updated in accordance with the first change. Thus, in such a situation involving a change being made after the communication regarding a previous change is sent, the communication typically does not result in the instances of the data being synchronized.
Accordingly, it is desirable to provide techniques enabling more efficient data synchronization while ensuring that synchronizations are based on up-to-date information.